package io.polly.ldz.webflux.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.reactive.config.CorsRegistry;
import org.springframework.web.reactive.config.WebFluxConfigurer;

/**
 * @author ldz11
 * @description：
 * 配置路径匹配选项：例如设置 URL 是否区分大小写。
 * 添加跨域支持（CORS）：为你的应用添加全局的 CORS 支持。
 * 注册拦截器：添加自定义的处理器拦截器。
 * 配置视图解析器：如果你的应用使用了模板引擎来渲染响应。
 * 配置消息转换器：如 JSON 或 XML 转换器，用于请求和响应体的序列化和反序列化。
 * @date 2025/3/12 12:02
 */
@Configuration
public class PollyWebConfiguration {

    @Bean
    public WebFluxConfigurer webFluxConfigurer() {
        return new WebFluxConfigurer() {

            @Override
            public void addCorsMappings(CorsRegistry registry){
                // 添加全局的 CORS 映射
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        .allowedOrigins("localhost")
                        .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS");
            }


        };
    }
}
